// pages/historyTerm/historyTermList/historyTermList.js

import {stageindex} from "../../config";
const innerAudioInnerCtx = wx.createInnerAudioContext();


import {
  asyncGetUsertermData,
  asyncAddUsertermData,
  asyncUpdateUsertermData,
} from "../../utils/usertermDataLib";

const app = getApp();

Page({

  /**
   * 页面的初始数据
   */
  data: {
    stageindex,
    pageTermTypeTitle: '',
    renderTermList: [],
    usertermData: {
      historyTermDict: {},
      errorTermDict: {},
    },
  },

  async load(pageTermType) {
    const openid = app.globalData.openid;
    const resData = await asyncGetUsertermData(openid);
    console.log("46-46 resData:", resData)
    if(resData.length == 0) return; //数据库中没有数据就返回
    const cloudUsertermDataRecord = resData.length > 0 ? resData[0] : {
      historyTermDict: {},
      errorTermDict: {},
    };
    console.log(`48-48 cloudUsertermDataRecord:`, cloudUsertermDataRecord);
    const cloudUsertermData = cloudUsertermDataRecord.usertermData;
    console.log(`35-35 cloudUsertermData:`, cloudUsertermData);

    // const errorTermDictKey = `usertermData.errorTermDict`;
    // const historyTermDictKey = `usertermData.historyTermDict`;
    // this.setData({
    //     [errorTermDictKey]: cloudUsertermData.errorTermDict,
    //     [historyTermDictKey]: cloudUsertermData.historyTermDict,
    // });
    let renderTermList = []
    switch(pageTermType){
      case "error":
        renderTermList = Object.values(cloudUsertermData.errorTermDict);
        break;
      case "history":
        renderTermList = Object.values(cloudUsertermData.historyTermDict);
        break;
      default:  
        console.log(`49-49 unknow pageTermType got...`);
      }
    console.log(`35-35 renderTermList:`, renderTermList);
      this.setData({
        renderTermList,
      })
  },

  audioPlay: function (event) {
    console.log("40-40 event:", event)
    innerAudioInnerCtx.src = event.currentTarget.dataset.voice;
    // let audioCtx = wx.createAudioContext(audioid);
    console.log("43-43 voice:", innerAudioInnerCtx.src);
    innerAudioInnerCtx.play()
    // audioCtx = null;
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: async function (options) {
    const stageindex = app.globalData.stageindex;
    const pageTermType = options.pageTermType ? options.pageTermType : "error";
    // const pageTermType = options.pageTermType ? options.pageTermType : "error";
    console.log(`75-75 pageTermType： `, pageTermType);
    let pageTermTypeTitle;
    switch(pageTermType){
      case "error":
        pageTermTypeTitle = "错题集";
        break;
      case "history":
        pageTermTypeTitle = "做过的题";
        break;
      default:  
        console.log(`86-86 unknow pageTermType got...`);
        break
    }
    this.setData({
      stageindex,
      pageTermTypeTitle,
    });
    await this.load(pageTermType);
    
  },

  toLinkPage(e){
    wx.navigateTo({
      url: e.currentTarget.dataset.link,
    });
},

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})